﻿using System;
using System.Collections.Generic;
using System.ServiceModel;
using Entidades;

namespace ServicioEvaluacion
{
	public class Usuarios : IUsuarios
	{
		#region Agregar Usuario

		public bool Agregar(Usuario nuevoUsuario)
		{
			bool resultado = false;
			try
			{
				LogicaDeNegocios.Usuarios u = new LogicaDeNegocios.Usuarios();
				resultado = u.Agregar(nuevoUsuario);
			}
			catch (Exception ex)
			{
				throw new FaultException(FallaEvaluacion.ObtenerCausa(ex));
			}
			return resultado;
		}

		#endregion

		#region Elimiar Usuario

		public bool Eliminar(Usuario usuarioAEliminar)
		{
			bool resultado = false;
			try
			{
				LogicaDeNegocios.Usuarios u = new LogicaDeNegocios.Usuarios();
				resultado = u.Eliminar(usuarioAEliminar);
			}
			catch (Exception ex)
			{
				throw new FaultException(FallaEvaluacion.ObtenerCausa(ex));
			}
			return resultado;
		}

		#endregion

		#region Modificar Usuario

		public bool Modificar(Usuario usuarioAModificar)
		{
			bool resultado = false;
			try
			{
				LogicaDeNegocios.Usuarios u = new LogicaDeNegocios.Usuarios();
				resultado = u.Modificar(usuarioAModificar);
			}
			catch (Exception ex)
			{
				throw new FaultException(FallaEvaluacion.ObtenerCausa(ex));
			}
			return resultado;
		}

		#endregion

		#region Listar Usuario(s)

		public List<Usuario> Listar(string cuenta = "")
		{
			List<Usuario> resultado = null;
			try
			{
				LogicaDeNegocios.Usuarios u = new LogicaDeNegocios.Usuarios();
				resultado = u.Listar(cuenta);
			}
			catch (Exception ex)
			{
				throw new FaultException(FallaEvaluacion.ObtenerCausa(ex));
			}
			return resultado;
		}

		#endregion
	}
}
